package org.theSeed.fileContract.contract;

import org.theSeed.fileContract.pojo.dto.RecordFileUniInfoDto;
import org.theSeed.fileContract.pojo.dto.RecordChipInfoDto;
import org.theSeed.fileContract.pojo.dto.RecordChipUploadInfoDto;

import java.util.List;

/**
 * 文件上传记录者
 */
public interface UploadFileRecorder {
    /**
     * 添加文件信息
     * @param recordFileUniInfoDto
     */
    void addUploadInfo(RecordFileUniInfoDto recordFileUniInfoDto);

    /**
     * 删除文件信息
     * @param recordFileUniInfoDto
     */
    void removeUploadInfo(RecordFileUniInfoDto recordFileUniInfoDto);

    /**
     * 添加文件分片信息
     * @param recordChipInfoDto
     */
    void addChipInfo(RecordChipInfoDto recordChipInfoDto);

    /**
     * 添加分片上传信息
     * @param recordChipUploadInfoDto
     */
    void addChipUploadInfo(RecordChipUploadInfoDto recordChipUploadInfoDto);

    /**
     * 有问题的片
     * @param recordFileUniInfoDto
     * @return
     */
    List<Integer> checkChipUploadInfo(RecordFileUniInfoDto recordFileUniInfoDto);

    /**
     * 删除分片信息
     * @param recordFileUniInfoDto
     */
    void removeChipUploadInfo(RecordFileUniInfoDto recordFileUniInfoDto);
}
